package cn.xscrum.vtsp.service.impl;


import cn.xscrum.vtsp.mapper.VtspVisualMapper;
import cn.xscrum.vtsp.service.IVtspVisualService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * 可视化Service业务层处理
 *
 * @author wfs
 * @date 2021-10-09
 */
@Service
public class VtspVisualServiceImpl implements IVtspVisualService
{

    @Autowired
    private VtspVisualMapper visualMapper;

    /**
     * 获取志愿者的各个学历层次的人数
     *
     * @return  各个学历段及其对应的志愿者人数的集合
     */
    @Override
    public List<Map<String, Object>> getVolunteerDegreeVisual()
    {
        return visualMapper.getVolunteerDegreeVisual();
    }

    /**
     * 获取志愿者的各个年龄段的人数
     *
     * @return  各个年龄段及其对应的志愿者人数的集合
     */
    @Override
    public List<Map<String, Object>> getVolunteerAgeVisual()
    {
        return visualMapper.getVolunteerAgeVisual();
    }

    /**
     * 获取每年增加的志愿者人数
     *
     * @return  各个年份及其对应的志愿者人数的集合
     */
    @Override
    public List<Map<String, Object>> getVolunteerGrowthTrendVisual()
    {
        return visualMapper.getVolunteerGrowthTrendVisual();
    }

    /**
     * 获取每个月开展志愿活动的次数
     *
     * @return 每个月份及其对应的支援活动次数的集合
     */
    @Override
    public List<Map<String, Object>> getActivityGrowthTrendVisual()
    {
        return visualMapper.getActivityGrowthTrendVisual();
    }

    /**
     * 获取各个活动类型的的活动数
     *
     * @return  各个活动类型以及其活动数的集合
     */
    @Override
    public List<Map<String, Object>> getActivityTypeVisual()
    {
        return visualMapper.getActivityTypeVisual();
    }

    /**
     * 获取各个地区的志愿者人数以及之原则服务总时长
     *
     * @return  各个地区及其对应的志愿者人数以及志愿者服务总时长的集合
     */
    @Override
    public List<Map<String, Object>> getVolunteerAreaVisual()
    {
        return visualMapper.getVolunteerAreaVisual();
    }

    /**
     * 获取近十二个月每个月服务对象的人数
     *
     * @return  近十二个月以及每个月服务对象的人数的集合
     */
    @Override
    public List<Map<String, Object>> getServiceObjectVisual()
    {
        return visualMapper.getServiceObjectVisual();
    }

    /**
     * 获取志愿者总人数
     *
     * @return  志愿者的总数
     */
    @Override
    public Integer getVolunteerSumVisual()
    {
        return visualMapper.getVolunteerSumVisual();
    }

    /**
     * 获取活动总数
     *
     * @return  活动的总数
     */
    @Override
    public Integer getActivitySumVisual()
    {
        return visualMapper.getActivitySumVisual();
    }

    /**
     * 志愿者注册总次数
     *
     * @return  志愿者注册总次数
     */
    @Override
    public Integer getVolunteerRegisterNumberVisual()
    {
        return visualMapper.getVolunteerRegisterNumberVisual();
    }
}
